import {defineConfig} from 'vite'
import dts from 'vite-plugin-dts'
import * as path from 'path'
import {ViteUtil} from '@xtail/vite'

// 项目中 src 目录的绝对路径
const srcAbsolutePath: string = path.resolve(__dirname, './src')

export default defineConfig({
  // 插件
  plugins: [
    // 生成 d.ts 文件的插件
    dts(ViteUtil.genPluginDtsOptions({
      // ts 配置文件路径
      tsconfigPath: './tsconfig.lib.json',
    }))
  ],
  // vite 构建工具中的解析器配置
  resolve: {
    // 配置别名解析
    alias: {
      // 将项目文件中使用的 `@` 解析为 `src` 目录的绝对路径
      '@': srcAbsolutePath,
    },
  },
  // 打包配置
  build: ViteUtil.genLibBuildConfig({
    // rollup 相关配置
    rollupOptions: ViteUtil.genLibRollupOptions({
      // 排除不需要的依赖
      external: [
        'axios'
      ],
    }),
  })
})
